<?php /** 题库添加 api **/
require_once '../../config/req.conf.php';
require_once '../../utils/CommonMethods.php';
require_once '../../utils/VerifyFormData.php';
require_once '../../utils/DBUtils.php';

/* 1. token认证和角色权限校验 */
$headers = apache_request_headers(); // 请求头信息获取
$info = VerifyFormData::verifyRole($headers['Authorization'], "root");
if( CommonMethods::isEmpty($info) ){
    RespJson::fail("没有访问权限");
    return;
}

/* 2. 对表单数据进行校验 */
if( !VerifyFormData::addQuestionBankDataVerify($_POST) ) return;

/* 3. 将数据插入数据库 */
DBUtils::init();
$isSuccess = DBUtils::execute("insert into php_questions(question, type, optionA, optionB, optionC, optionD, answer) values('{$_POST['question']}', '{$_POST['type']}', '{$_POST['optionA']}', '{$_POST['optionB']}', '{$_POST['optionC']}', '{$_POST['optionD']}', '{$_POST['answer']}')");
if( $isSuccess ){
    /* 插入成功, 那么就查询该题目的id */
    $sql = DBUtils::getSql("php_questions")
        ->filter("id")
        ->where("question = '{$_POST['question']}'")
        ->select();
    $result = DBUtils::queryOne($sql);
    /* 如果获取到数据了, 那么就返回 */
    if( !CommonMethods::isEmpty($result) ){
        RespJson::success($result);
        return;
    }else{
        RespJson::fail("查询id错误");
        return;
    }
}else{
    RespJson::fail("题目添加失败, 请重试");
    return;
}
